home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 27 / CU Amiga Magazine's Super CD-ROM 27 (1998)(EMAP Images)(GB)[!][issue 1998-10].iso / CUCD / PowerPC / vbcc / machines / amigawos / libsrc / stdio / tmpnam.c < prev    next >
C/C++ Source or Header  |  1998-08-02  |  686b  |  35 lines

  1. /*
  2. ** vbcc-PowerOpen/WarpOS version of tmpnam.c
  3. **
  4. ** v0.2 01.05.98 phx
  5. **      Uses task's address in name
  6. ** v0.1 06.03.98 phx
  7. */
  8.  
  9. #include <stdio.h>
  10. #include <exec/types.h>
  11. #include <powerpc/powerpc.h>
  12. #include <clib/powerpc_protos.h>
  13.  
  14. extern ULONG SysBase;
  15.  
  16.  
  17. char *tmpnam(char s[L_tmpnam])
  18. {
  19.   static char lastname[L_tmpnam];
  20.   static int lastnum=0;
  21.   struct PPCArgs pa;
  22.  
  23.   pa.PP_Code = (APTR)SysBase;
  24.   pa.PP_Offset = -294;  /* _FindTask */
  25.   pa.PP_Flags = pa.PP_StackSize = 0;
  26.   pa.PP_Stack = NULL;
  27.   pa.PP_Regs[PPREG_A1] = 0;
  28.   pa.PP_Regs[PPREG_A6] = SysBase;
  29.   Run68k(&pa);
  30.   if (!s)
  31.     s = lastname;
  32.   sprintf (s,"T:t%08lx_%d",pa.PP_Regs[PPREG_D0],lastnum++);
  33.   return (s);
  34. }
  35.